/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pedidos.Producto.Controlador;

import Pedidos.Producto.BEAN.ProductoBEAN;
import Pedidos.Producto.DAO.ProductoDAO;
import Pedidos.Producto.Vista.EditarProducto;
import Pedidos.Producto.Vista.Producto;
import javax.swing.JOptionPane;
import sape.Controlador;
import sape.MenuControlador;

/**
 *
 * @author Diego
 */
public class EditarProductoControlador extends Controlador{
        public MenuControlador menu_controlador;
        public EditarProducto vista;
        public ProductoBEAN elemento;

    public EditarProductoControlador(EditarProducto aThis, MenuControlador menu) {
       this.vista=aThis;
       this.menu_controlador=menu;
    }

    public EditarProductoControlador(EditarProducto aThis, MenuControlador menu_controlador, ProductoBEAN elemento) {
       this.vista=aThis;
       this.menu_controlador=menu_controlador;
       this.elemento=elemento;
       this.vista.tbNombre.setText(elemento.getNombre());
       this.vista.tbPrecio.setText(elemento.getPrecio().toString());
       this.vista.tbaDescripcion.setText(elemento.getDescripcion().toString());
    }
    
    public void aceptar(){
          if (!(ProductoDAO.validarNombre(this.vista.tbNombre) && ProductoDAO.validarPrecio(this.vista.tbPrecio))) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "No paso la validacion.");
            return;
        }
        ProductoBEAN producto_nuevo = new ProductoBEAN(this.vista.tbNombre.getText(), Double.valueOf(this.vista.tbPrecio.getText()), this.vista.tbaDescripcion.getText());
        producto_nuevo.setId(elemento.getId());
        
        String mensajeDAO = ProductoDAO.modificarProducto(producto_nuevo);
        
        if (mensajeDAO.compareTo("OK") == 0) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "Producto Modificado exitosamente");
        } else {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "ERROR: " + mensajeDAO);
        }
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        Producto new_vista=new Producto(this.menu_controlador);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }
    public void limpiar(){
       this.vista.tbNombre.setText("");
       this.vista.tbPrecio.setText("");
       this.vista.tbaDescripcion.setText("");
    }
    public void cerrar(){
       
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        Producto new_vista=new Producto(this.menu_controlador);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }
}
